package com.vviton.zyhj.common.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.vviton.zyhj.common.entity.TYyxtO2oQyxxb;
import com.vviton.zyhj.common.utils.page.Page;

/**
 *
 * ClassName: TYyxtO2oQyxxbMapper <br/>
 * Function: 企业信息DAO. <br/>
 * Date: 2016年11月14日 下午1:36:15 <br/>
 *
 * @author libo
 * @version 1.0
 * @since JDK 1.7
 */
public interface TYyxtO2oQyxxbMapper {

    /**
     *
     * selectQyxxListByCondition,(根据查询条件查询企业列表). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页参数
     * @return List<TYyxtO2oQyxxb> 企业信息列表
     * @since JDK 1.7
     */
    List<TYyxtO2oQyxxb> selectQyxxListByCondition(@Param("page") Page page);

    /**
     *
     * countQyxxListTotal,(统计企业列表数量). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页参数
     * @return Integer
     * @since JDK 1.7
     */
    Integer countQyxxListTotal(@Param("page") Page page);

    /**
     *
     * countRepeatZzjgdmById,(判断企业组织机构代码是否重复). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月17日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月17日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param zzjgdm 组织机构代码
     * @param id 企业id
     * @return int
     * @since JDK 1.7
     */
    int countRepeatZzjgdmById(@Param("zzjgdm") String zzjgdm, @Param("id") String id);

    /**
     *
     * countRepeatQymcById,(统计企业名称是否重复). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param qymc 企业名称
     * @param id 企业ID
     * @return int
     * @since JDK 1.7
     */
    int countRepeatQymcById(@Param("qymc") String qymc, @Param("id") String id);

    /**
     *
     * countRepeatQyymById,(判断企业域名是否重复). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月17日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月17日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param qyym 企业域名
     * @param id 企业id
     * @return int
     * @since JDK 1.7
     */
    int countRepeatQyymById(@Param("qyym") String qyym, @Param("id") String id);

    /**
     *
     * insert,(新增企业信息记录). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 企业信息参数对象
     * @return int
     * @since JDK 1.7
     */
    int insert(TYyxtO2oQyxxb record);

    /**
     *
     * selectByPrimaryKey,(根据编号获取企业信息对象). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param id 企业信息ID编号
     * @return TYyxtO2oQyxxb 企业信息
     * @since JDK 1.7
     */
    TYyxtO2oQyxxb selectByPrimaryKey(@Param("id") String id);

    /**
     *
     * updateByPrimaryKey,(根据编号修改企业信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 企业信息参数
     * @return int
     * @since JDK 1.7
     */
    int updateByPrimaryKey(TYyxtO2oQyxxb record);

    /**
     *
     * disableOrRecoverQyxxByKey,(根据ID禁用该企业所有信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月14日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月14日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 企业信息对象
     * @return int
     * @since JDK 1.7
     */
    int disableOrRecoverQyxxByKey(TYyxtO2oQyxxb record);

}